1
Dasar-Dasar Koleksi yang Dialokasikan di Heap
AI034Lesson 8
00:00

Arsitektur Pertumbuhan

Koleksi Rust, seperti Vec<T> dan String, bukan tipe dasar; mereka adalah struktur yang didefinisikan dalam pustaka dan berada di modul std modul. Fondasi ini menentukan bagaimana Rust mengelola data melalui sistem modul dan mengelola memori melalui RAII (Akses Sumber Daya adalah Inisialisasi). Sementara tipe sederhana berada di stack, koleksi menggunakan Penyimpanan Heap untuk pertumbuhan dinamis, artinya memori mereka harus dikelola secara eksplisit melalui Drop trait.

Resolusi Modul & Visibilitas

Kompiler Rust memetakan pohon modul dimulai dari akar krate (src/lib.rs atau src/main.rs). Deklarasi seperti mod front_of_house; memicu kompiler untuk mencari src/front_of_house.rs atau src/front_of_house/mod.rs. Menggunakan pub modifier dan pengalihan ulang (pub use) memungkinkan data yang dialokasikan di heap dan terenkapsulasi untuk diakses dengan aman melalui jalur yang sesuai gaya.

Pohon Resolusi Filesrc/lib.rssrc/front_of_house.rs- hosting.rspub use crate::front_of_house;let list = Vec::new();🦀?Kesalahan Umum: konflik mod.rs + name.rsmemicu kesalahan kompilator (Halaman 183)

Segera setelah lingkup suatu modul berakhir, implementasi Drop secara otomatis mengembalikan memori heap: $$Memory_{dikembalikan} = \sum Drop(Elemen)$$.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>